跳到主要内容

数据库初始化参数配置

在初始化期间, GBase 8s 数据库服务器会使用一个称为 onconfig 文件的配置文件。这个文件中包含数据库初始化参数的缺省值。通过更改这些参数值来提高数据库的性能和其他特性。

onconfig 文件说明

缺省情况下,onconfig 文件位于 $GBASEDBTDIR/etc/ 目录中。ONCONFIG 环境变量指定 onconfig 文件的名称。对参数的描述和此参数可以赋的值都阐述在 onconfig.std 文件的注释中。onconfig 文件中参数值的设置方式如下:

PARAMETER_NAME parameter_value comments

onconfig 文件内容格式规定

并且对 onconfig 文件内容的格式有以下规定:

  • 一行只能命名一个参数。
  • 注释行以 # 为标志并位于行的开头。
  • onconfig 文件的最大行限制为 512 字节,超出此限制的行将被截断,而且可能导致配置问题。
  • 参数名、参数值和可选注释之间必须放置空格(制表符和/或空格)。请不要再参数值内部使用任何制表符或空格。在参数值和空格之后的字符串都将被视为注释,不论这些字符串的开头是否以 # 标记。
  • onconfig 文件中的参数及其值是区分大小写的,参数名总是大写的,如果值项使用大写字母描述的,那么您必须使用大写(例如: NETTYPE 参数 的 CPU 值)。
  • 大多数参数只能有一个有效的项。在 onconfig 文件中,如果一些参数有多项,系统将默认第一项有效。 然而,一些参数可以有多个项。 另一些参数,例如 VPCLASS 可以出现多次。
  • 未识别的参数可以被保存,但是会被忽略并且不会报错。
  • 复制但忽略未识别的参数,且不会报错。
提示

如果您在 onconfig 模板文件中运行一个像 grep 的程序,那么指定新行字符 (^)只返回配置参数的名称和值。若没有新行字符,参数的描述也将会被返回。

例如:下面的命令不仅返回配置参数的描述,也返回它的值:

grep "MSGPATH" onconfig
# MSGPATH - The path of the IDS message log file
MSGPATH $GBASEDBTDIR/tmp/online.log

然而,下面的命令只返回配置参数的值:

grep "^MSGPATH" onconfig
MSGPATH $GBASEDBTDIR /tmp/online.log

onconfig 文件中使用环境变量的约定

在环境变量适用的任何配置参数中,您可以输入一个环境变量作为值。例如:对于 DB DBSPACETEMP 配置参数您可以指定以下的环境变量来代替您数据库服务器的名称。

DBSPACETEMP $MY_DBSPACETEMP
重要

如果您输入一个环境变量作为值,您必须在任何可执行程序或读取 onconfig 文件的命令的环境中设置该环境变量。读取 onconfig 文件的命令包括 oninit、oncheck、onbar、ontape、onlog 和 archecker。

onconfig 文件内容修改

通过更改数据库服务器的 onconfig 文件,可以定制服务器功能或者调整数据库行为。

您可以通过下列任何一种方法更改 onconfig 文件:

  • 使用文本编辑器更改配置参数值。在下一次数据库服务器关闭并重启之后,这些变更生效。
  • 通过运行 onmode -wf 来永久地更新配置参数,或者通过运行 onmode -wm 命令来更新内存中的配置参数,您可以动态地更改许多配置参数的值,而无需重启数据库服务器。
  • 通过运行 genoncfg 命令,您可以生成一个 onconfig 文件,根据您的估算来优化连接、磁盘空间,以及 CPU 使用情况设置。
  • 您可以成组地导出、导入和修改配置参数:
    • 使用 onmode –we 命令将当前配置的一个快照导出到一个文件。这个结果快照可以再归档,用作一个配置文件,或者导入到另一个正在运行的实例。
    • 使用 onmode –wi 命令从一个先前导出的文件导入可调整的配置参数。忽略这个文件中那些不能动态地调整的配置参数。
  • 您可以使用 SQL 管理 API 命令来修改、重置、导出和导入一个配置文件。
    • 使用 admin() 或 task() 函数的 modify config 参数来改变一个配置参数的值。
    • 使用 admin() 或 task() 函数的 export configimport config 参数来导出或导入一个文件,这个文件包含一个或多个可动态地调整的配置参数。
    • 使用 admin() 或 task() 函数的 reset configreset config all 参数来将一个配置参数或全部配置参数恢复为 onconfig 文件中的值。

通过运行 onconfig_diff 命令,您可以比较两个 onconfig 文件。

显示 onconfig 文件中的设置

可以使用下列工具来显示 onconfig 文件中的设置:

  • 使用一个文本编辑器打开 onconfig 文件。
  • 使用 onstat -c 命令查看 onconfig 文件的内容。
  • 通过运行 onstat -g cfg 命令查看配置参数列表及其当前值。如果动态地更新配置参数,则当前值与 onconfig 文件中的永久值不同。

您可以使用 onstat -g cfg 命令的附加选项,来只显示那些动态变更了的配置参数,或显示关于全部配置参数的附加信息。